package com.haohan.jingyuan.customer.dto.req;

import com.haohan.jingyuan.common.dto.BaseRequest;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;
import java.util.List;

/**
 * 创建客户材料请求DTO
 *
 * @ClassName CreateCustomerFileRequest
 * @Description 创建客户材料请求参数
 * @Author hexijun
 * @Time 2025/01/31 10:00
 * @Version 1.0
 */
@Data
@EqualsAndHashCode(callSuper = false)
public class CreateCustomerFileRequest extends BaseRequest {

    /**
     * 文件OSS的key
     */
    @NotBlank(message = "文件key不能为空")
    private String fileKey;

    /**
     * 文件名称
     */
    @Size(max = 255, message = "文件名称长度不能超过255")
    private String fileName;

    /**
     * 文件类型
     */
    @NotBlank(message = "文件类型不能为空")
    private String fileType;

    /**
     * 签约时间
     */
    private java.util.Date signAt;

    /**
     * 到期时间
     */
    private java.util.Date expireAt;

    /**
     * 客户ID
     */
    @NotBlank(message = "客户ID不能为空")
    private String customerId;

    /**
     * 文件分组code
     */
    @Size(max = 64, message = "文件分组code长度不能超过64")
    private String groupCode;

    /**
     * 标签列表（每个tag_code对应customer_tag表的tag_code字段，type必须为2-客户材料标签，单个tag_code最大长度32）
     */
    private List<String> tag;
}

